
/**
 * A controller test class to test the prototype;
 * 
 * @author Joe Thomas
 * @version 0.1
 */
public class Test
{
    // instance variables (fields). 
    private static Display display;
    private static State state;

    /**
     * A Constructor to initialise the variables of a new Test
     */
    public Test()
    {
    }
    
    public static void main(String[] args)
    {
        display = new Display();
        state = display.getState();
        
        display.addText("This text is plain.");
        state.toggleState(State.BOLD);
        state.toggleState(State.UNDERLINED);
        display.addText("This text is bold and underlined.");
        state.toggleState(State.BOLD);
        state.toggleState(State.UNDERLINED);

        state.toggleState(State.ITALIC);
        state.setIndentation(8);
        display.addText("This text is italic and indented.");
        state.toggleState(State.ITALIC);
        state.setIndentation(0);

        state.toggleState(State.ITALIC);
        state.toggleState(State.BOLD);
        display.addText("This text is bold and italic and is not fully displayed because the window is not wide enough and it is not wrapped.");
        state.toggleState(State.ITALIC);
        state.toggleState(State.BOLD);
        
        display.addText(" ");
        
        state.setHeading(1.0);
        display.addText("There is a small gap between this text and the last text. This text has a heading.");
        state.resetHeading();
        
        state.toggleState(State.ITALIC);
        state.toggleState(State.WRAPPED);
        display.addText("This text is longer than the other texts and it goes onto a new line when it reaches the edge of the window like this. It is also italic.");
        state.toggleState(State.ITALIC);
        state.toggleState(State.WRAPPED);
    }

}